/**
 * @desc 类目基础数据类型结构
 */
interface CategoryBase {
  className: string;
}

interface ExpandBase {
  // 唯一id
  guid: string;
  // 排序
  sort: number;
  aiLearnClassification?: number;
}

/**
 * @desc 一级基础类目
 */
export type CategoryOne = CategoryBase;

/**
 * @desc 二级类目扩展的基础字段
 */
export interface CategoryTwo extends CategoryBase {
  picUrl?: string;
}

/**
 * @desc 任意类目的基础字段
 */
export type CategoryItem = CategoryTwo | CategoryBase;

export interface CategoryTwoExpand extends CategoryTwo, ExpandBase {
  num: number;
}

/**
 * @desc 一级类目的扩展字段
 */
export interface CategoryOneExpand extends CategoryBase, ExpandBase {
  lowerListVo: CategoryTwoExpand[];
}

export type CategoryExpandItem = CategoryOneExpand & CategoryOneExpand;
